<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var o = (function () {
            var obj = {
                a: 1,
                b: 2
            }
            Object.setPrototypeOf(obj, null)
            return {
                get (k) {
                    // if (obj.hasOwnProperty(k)) {
                        return obj[k]
                    // }
                    // return undefined
                }   
            }
        })()
        Object.defineProperty(Object.prototype, 'abc', {
            get() {
                console.log('this', this)
                return this
            }
        })
        var obj2 = o.get('abc')
        console.log('obj2', obj2)

        obj2.a= 100

        console.log(o.get('a'))
    </script>
</body>
</html>